Skip to content

test(nightly): gate on FFmpeg, and find libs in the multiarch dir - #1485

Merged
paul-hammant merged 1 commit into
mainfrom
fix/nightly-ffmpeg-dep
Aug 10, 2026
Merged

test(nightly): gate on FFmpeg, and find libs in the multiarch dir#1485
paul-hammant merged 1 commit into
mainfrom
fix/nightly-ffmpeg-dep

Conversation

@paul-hammant

Copy link
Copy Markdown
Collaborator

Two changes to the CachyOS nightly's dependency gate. One file, tests/cachyos/nightly.sh, four added lines.

1. FFmpeg is now a required dependency

contrib/avcodec landed in 0.509.0 and its audio half in 0.513.0. Its contrib-check entry SKIPs when pkg-config cannot find the FFmpeg libraries — so without a gate entry the nightly would report a green run whose avcodec test never actually executed.

That is precisely the failure mode the gate exists to prevent: a dedicated build box should test everything, so an absent library is a provisioning bug rather than a silent skip. Both libavcodec and libswresample are listed, since 0.513.0 made all five FFmpeg libs a required set.

2. have_dep's lib kind now searches the multiarch directory

On Debian and Ubuntu, /usr/lib/<arch>-linux-gnu is the only place these libraries live. Verified here:

$ ls /usr/lib/x86_64-linux-gnu/libavcodec.so     → present
$ ls /usr/lib/libavcodec.so /usr/lib64/...       → nothing

So a Debian-shaped box would have reported every lib dependency as MISSING. Arch has no multiarch dir, so the extra path is a harmless no-op on the box this script actually runs on.

Verified on both shapes, not assumed

box result
Debian 12 (dev machine) ffmpeg, ffmpeg-swr, sqlite, expat → all dep OK
CachyOS (the nightly box) same four dep OK

Worth noting: FFmpeg is already installed on the CachyOS box, so this turns the avcodec gate on rather than turning the nightly red. The pre-existing sqlite/expat entries still resolve on both, so the matcher change regresses nothing.

On [skip actions]

Bare in the commit subject, deliberately not in the PR title (the title becomes the merge-commit subject and would no-op the release).

It is correct here in a way it was not in #1483: that branch carried the token on its head commit while shipping 244 lines of C, which silenced CI for the whole PR. This branch is tests/cachyos/ end to end — a single shell script, self-run on its own box rather than by GitHub Actions — so there is nothing for the matrix to exercise.

🤖 Generated with Claude Code

…ip actions]

Two changes to the CachyOS nightly's dependency gate.

FFmpeg is now required. contrib/avcodec landed in 0.509.0 and its audio half in
0.513.0, and the contrib-check entry SKIPs when pkg-config cannot find the
FFmpeg libraries — so without a gate entry the nightly would report a green run
whose avcodec test never actually executed. That is the failure mode the gate
exists to prevent: a dedicated build box should test everything, and a missing
library is a provisioning bug, not a silent skip. Both libavcodec and
libswresample are listed, since 0.513.0 made all five FFmpeg libs a required
set.

have_dep's `lib` kind also now looks in /usr/lib/<arch>-linux-gnu. On Debian and
Ubuntu that is the ONLY place these libraries live — verified here, where
libavcodec.so exists in the multiarch dir and in none of the four paths the
matcher previously searched, so a Debian-shaped box would report every lib
dependency MISSING. Arch has no multiarch dir, so the extra path is a harmless
no-op on the box this script actually runs on.

Verified on both shapes rather than assumed:

  Debian 12 (here):   ffmpeg / ffmpeg-swr / sqlite / expat all "dep OK"
  CachyOS (the box):  same four "dep OK" — FFmpeg is already installed there,
                      so this turns the avcodec gate ON rather than red

[skip actions] is correct and bare: this touches tests/cachyos/ only — no
compiler, runtime, std or contrib code — and the nightly is self-run on its own
box rather than by GitHub Actions.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant